/*
  1.vuex数据如何控制请求后端数据，如何不用每次获取后端数据，还是他本身就不应该每次都获取后端新数据
  2.是否能封装修改参数公用的方法
*/
const types= {
  UPDATE_USER: 'update_user'
}
// initial state
const state = {
  userInfo: {
    clickNum: 0
  }
}

// getters
const getters = {
  getUserInfo: (state) => {

    return state.userInfo
  }
}

// mutations
const mutations = {
  [types.UPDATE_USER](state, num) {
    state.userInfo.clickNum += num;
  }
}

// actions
const actions = {
  async editUserInfo({ commit }, num) {

    commit(types.UPDATE_USER, num)
    // await等待操作完成再往下走

  }
}

export default {
  namespaced: true,
  state,
  getters,
  actions,
  mutations
}
